package com.zdb.datastructures.sort;

import com.zdb.datastructures.utils.MockDataUtils;
import com.zdb.datastructures.utils.TimeUtils;

import java.util.Arrays;

public class SelectSort {
    public static void main(String[] args) {
//        int[] arr = {101, 34, 119, 1};
        int[] arr = MockDataUtils.mock80000IntArr();
        TimeUtils.printNowStr();

        selectSort(arr);

        TimeUtils.printNowStr();

    }

    public static void selectSort(int[] arr) {

        int startIdx = 0;
        int minIdx = 0;
        int tmp = 0;
        for(int j=0; j<arr.length-1; j++) {
            startIdx = 0 + j;
            minIdx = startIdx;

            for (int i = 0 + j; i < arr.length; i++) {
                if (arr[minIdx] > arr[i]) {
                    minIdx = i;
                }
            }
            // 交换
            tmp = arr[minIdx];
            arr[minIdx] = arr[startIdx];
            arr[startIdx] = tmp;

//            System.out.println("第" + (j+1) + "次排序，=" + Arrays.toString(arr));
        }
    }
}
